export enum ROLE {
  SPEAKER = 1, // speaker 发言者 演讲者
  ATTENDEE = 2, // attendee 出席者;在场者
  AUDIENCE = 3, // audience 观众
  ASSISTANT = 4, // assistant 助理
}

export enum RoomStatus {
  started = 'started',
  paused = 'paused',
  stopped = 'stopped',
}

export class WlClassroom {
  status: RoomStatus = RoomStatus.stopped;
  startTime: number;
  stopTime: number;
  mutedAudio = false;
  mutedVideo = false;

  constructor() {}
}

// Capabilities: 能力
export enum RequestMethod{
  getRouterRtpCapabilities = 'getRouterRtpCapabilities',
  login = 'login',
  create = 'create',
  join = 'join',
  offer = 'offer',
  answer = 'answer',
  invite = 'invite',
  rejectInvite = 'rejectInvite',
  forciblyBreakUp = 'forciblyBreakUp',
  leave = 'leave',
  record = 'record',
  stopRecord = 'stopRecord',
  dissolve = 'dissolve',

  iceCandidate = 'iceCandidate',

  // 抢麦
  obtainMicrophoneAccess = 'obtainMicrophoneAccess',
  // 释放麦
  releaseMicrophoneAccess = 'releaseMicrophoneAccess',
  // 申请加入
  applyJoin = 'applyJoin',

  // 创建
  createWebRtcTransport = 'createWebRtcTransport',
  // 连接
  connectWebRtcTransport = 'connectWebRtcTransport',
  // 重启
  restartIce = 'restartIce',

  // 生产者
  produce = 'produce',
  // 关闭
  closeProducer = 'closeProducer',
  // 暂停
  pauseProducer = 'pauseProduce',
  // 恢复
  resumeProducer = 'resumeProducer',

  pauseConsumer = 'pauseConsumer',
  resumeConsumer = 'resumeConsumer',
  // 请求消费者框架
  requestConsumerKeyFrame = 'requestConsumerKeyFrame',

  getProducerStats = 'getProducerStats',
  getConsumerStats = 'getConsumerStats',
  getTransportStats = 'getTransportStats',

  // 更改显示名称
  changeDisplayName = 'changeDisplayName',
  // 更改图片
  changePicture = 'changePicture',
  // 修改权限
  changeRoler = 'changeRoler',
  // 聊天信息
  chatMessage = 'chatMessage',
  // 关闭 连接
  closePeer = 'closePeer',

  syncDocInfo = 'syncDocInfo',

  classStart = 'classStart',
  classStop = 'classStop',

  // 房间信息
  roomInfo = 'roomInfo',
  changeLogo = 'changeLogo',
  announcementText = 'announcementText',
  videoFilter = 'videoFilter',

  connectVideo = 'connectVideo',
  connectApproval = 'connectApproval',
  disconnectVideo = 'disconnectVideo',

  switchComponent = 'switchComponent',

  muted = 'muted',
  unmuted = 'unmuted',
}
